The present invention relates to an echo canceller for a telephone channel including mobile communications, and/or an acoustic channel having a long transmission delay in tele-conferences.
In a telephone channel having a four-wire long distance trunk, hybrid circuits are connected for 2wire-4wire conversion. The hybrid circuits at each end of a call interface two-wire subscriber loops to the four-wire long distance trunk. The near-end echo of a far-end talker on the transmit path through the hybrid circuit is returned to the talker who perceives it as an echo. The annoyance it causes by impairing telephone quality increases with both its strength and the length of the delay as in the case of the long delay involved in satellite communications. To solve these problems, an echo canceller has been used.
On the other hand, in a tele-conference having only a 4-wire connection, an acoustic reflection of the far-end talker in a conference room is also returned to the talker who perceives it as an echo. To cancel the echo, an acoustic echo canceller was also used.
FIG. 1 shows the basic echo canceller structure for cancelling the echo in a telephone channel. The transmit input signal Sin at the transmit input port (5) is returned as the near-end echo over the echo path which corresponds to the circuit from the receive output port (3) to the transmit input port (5) through the hybrid circuit (4). The hybrid circuit (4) transmits the receive output signal through the port (15) to the near end talker. The prior echo canceller (1) controls the echo by synthesizing a replica of the near-end echo by an echo estimator (6), and subtracting this replica from the transmit input signal Sin at a subtracter (7). The residual echo derived as the output of the subtracter (7) is transmitted either directly or after being processed by a non-linear unit like a center clipper through the transmit output port (8) of the echo canceller (1). The input and output signals of the echo canceller (1) are assumed to be digitized and processed digitally in it.
In the echo estimator (6) which comprise an adaptive digital transversal filter having a finite impulse response (FIR), the filter coefficients are adaptively updated to minimize the level of the residual echo either at every sample time or at every sample intervals. As the adaptation algorithm for updating the filter coefficients, Least Mean Square(LMS) or modified LMS methods are well known. The echo estimator (6) with coefficients updating by the modified LMS algorithm is assumed hereafter.
FIG. 2 shows the functional structure of a prior echo canceller (1) which comprise an echo estimator (6), the subtracter (7), double talk detector (13) and low level detector (14). The echo estimator (6) comprise an X register (9) which stores the receive input signal Rin from the receive input port (2), an H register (10) which stores the filter coefficients corresponding to the impulse response of the adaptive filter, a convolution circuit (11) which generates the estimate (the replica of the transmit input signal Sin) by using Rin stored in the X register (9) and the filter coefficients in the H register (10), and an adaptation control processor (12) which updates the filter coefficients stored in the H register (10) to minimize the level of the residual echo derived from the subtracter (7). A step gain in the updating, which corresponds to a convergence speed of the adaptive filter, is chosen according to the outputs of the double talk and low level detectors (13, 14).
In the adaptation control processor (12), the filter coefficients are updated by using the residual echo Re and Rin. In the double talk detector (13), when a double talk situation indicating both talkers active at the near-end and the far-end is detected, a control signal is output to the adaptation control processor (12) for inhibiting the coefficient updating during double talking (setting the step gain zero for the updating). The low level detector (14) for the receive input signal Rin also outputs a control signal to the adaptation control processor (12) whether the coefficients are updated or not. If a level below a given threshold is detected, then the coefficient updating is prohibited during the detected period to prevent the coefficients in the H register (10) from divergence due to channel noise in the transmit path. The divergent coefficients in the H register (10) produce a large estimate, resulting in a residual echo larger than the transmit input signal.
The X register (9) stores N samples of Rin from the n-th sampling index to the (n-(N-1)-th sampling index into x(n), x(n-1), ., x(n-(N-1)). The coefficients of the transversal filter having N taps are also stored in the H register (10). The i-th coefficient is given by Hi(n) at the n-th sampling index, where i varies from 0 to N-1. Through the convolution circuit (11), the filter output y(n) is given as an estimate by ##EQU1## The residual echo Re(n) at the n-th sampling index is also given by EQU Re(n)= Sin (n)-y(n), [2]
where Sin (n) is the transmit input signal at the transmit input port (5).
To minimize the level of the residual echo Re(n), the coefficients in the H register (10) are updated by the modified LMS algorithm given by ##EQU2## where i is the i-th tap position varying from 0 to N-1, .DELTA.Hi(n) is the adjustment component at the n-th sampling index, and g is a constant referred to as a step gain having a value in the range 0 to 2.
FIG. 3 shows a functional configuration of the adaptation control processor (12) implementing the formula [4]. To update the i-th tap coefficient in the H register (10) at the n-th sample index, x(n-i) from the X register (9) is fed into the power calculator (150), and the residual echo Re(n) is also fed into the multiplier (151) to multiply it with x(n-i). In the step gain selector (153), a value of the step gain is selected from prepared values to multiply it with the output of the multiplier (151) at the multiplier (152), according to the control signals from the double talk detector (13) through the port (122) and from the low level detector (14) through the port (123). The step gain is set equal to zero for the double talk detection or the low level detection. In the divider (154), the output from the multiplier (152) is divided by the output of the power calculator (150) to obtain the adjustment component of .DELTA.Hi(n) for the i-th tap coefficient. The updated coefficient Hi(n+1) is derived from the output port (124) of the adder (155), in which .DELTA.Hi(n) is added to Hi(n) under the control from the adder controller (156). The adder is also reset in the initial stage by the adder controller (156).
When the low level detector (14) detects a receive input signal in level below a given threshold, the step gain g is set to 0, indicating non-updating for preventing the coefficient from divergence caused by channel noise existing at the transmit input port (5). In particular, the channel noise becomes more dominant than the near-end echo for low levels of the receive input signal.
When the double talk detector (13) detects the double talk situation in which the near- and far-end talkers generate talkspurts simultaneously, g is also set to 0 for preventing the coefficients from the false updating caused by the near-end talker's talkspurt which has non-correlation to the receive input signal. The double talk situation must be detected as fast as possible to decrease the step gain to either a very small value or zero so as not to diverge the filter coefficients. The divergence induces a large derivation from the impulse response of the echo path, resulting in an abrupt increment in level of the residual echo.
In the double talk detector (13), the power levels of the receive and transmit input signals Rin and Sin are calculated to compare each other. For instance, when the level of the transmit input signal Sin satisfies the formula given by [5], the double talk situation is detected, and then a control signal is output from the double talk detector (13) to inhibit the filter coefficient updating. EQU Lav( Sin )/Lav(Rin).gtoreq.Lth1, [5]
where Lth1 is a threshold value, Lav(Rin) and Lav( Sin ) are averaged levels of the receive and transmit input signals Rin and Sin , respectively. The residual echo from the subtracter (7) may also be used instead of the transmit input signal Sin .
Whenever the double talk situation is detected by the detector (13), the small level portion of the near-end talker's talkspurt in Sin already exists before exceeding the threshold, and as a results, the coefficients in the H register (10) always diverge due to the updating before inhibiting. When the large step gain is used to achieve rapid convergence of the coefficients to the impulse response of the echo path, therefore the divergence becomes rather large, making the residual echo increase abruptly. Accordingly, during frequent double talking, or after double talking, a large residual echo is easily perceived, which influences severely the telephone quality. For these reasons, a small value of the step gain, that is 0.3 or 0.25, has to be used, sacrificing rapid convergence in changing the frequency spectrum of talkspurts or during the initial stage of echo cancelling. A low level echo related to the front-end portion of every talkspurt having a high level is easily perceived in a conventional echo canceller,.
When the impulse response of the echo path is abruptly changed due to a circuit exchanger or a short circuit break, it is difficult for the echo estimator (6) having a small step gain to converge rapidly to the new echo path property. In a low ERL (echo return loss) in the echo path, false double talk detection of the near-end echo as the near-end talker's talkspurt causes inhibition of updating the coefficients. These phenomena induce a very slow convergence to reduce the echo, resulting in serious defects in telephone quality.
No previous echo canceller was able to provide a sufficiently high performance in cancelling with rapid convergence in above circumstances. This invention however provides a new echo canceller which can resolve these problems.
A IIR digital filter is also applicable instead of the FIR digital filter in the echo estimator (6), and LMS or other adaptation algorithms for coefficient updating can be applied instead of the modified LMS.